package j.framework.base.service;

import j.data.tree.TreeData;
import j.framework.core.LoginUser;
import j.framework.core.ServiceContext;

import java.util.List;
import java.util.Map;

/**
 * 系统参数
 * User: jason
 * Date: 2014/12/24 14:29
 */
public interface SettingService {
    /**
     * 根据参数说明获取参数信息
     * @param sc
     * @return
     */
    Map<String,Object> getSettingAsMap(ServiceContext sc);

    /**
     * 保存参数
     * @param sc
     */
    String saveSetting(ServiceContext sc);

    /**
     * 删除模块
     * @param sc
     */
    void deleteFunction(ServiceContext sc);

    /**
     * 构造字典项查询where语句
     * @param user
     * @param queryParams
     * @param args
     * @return
     */
    String buildQueryDictItemsWhere(LoginUser user, Map<String, String> queryParams, List<Object> args);

    /**
     * 获取字典分类结构
     * @param sc
     * @return
     */
    TreeData getDictionaryCategoryTree(ServiceContext sc);

    /**
     * 获取字典树结构
     * @param sc
     * @return
     */
    TreeData getDictionaryTree(ServiceContext sc);

    /**
     * 刷新组织架构的左右值
     * @param sc
     */
    void refreshTableWithLR(ServiceContext sc);

    /**
     * 获取树表的数据
     * @param sc
     * @return
     */
    List<Map<String,Object>> getTableWithLRData(ServiceContext sc);
}
